/**
 * 页面统计功能测试工具
 * 用于验证页面访问统计功能是否正常工作
 */
import { PageStats } from './pageStats';

export class PageStatsTest {
  /**
   * 测试页面统计功能
   */
  static testPageStats() {
    console.log('=== 页面统计功能测试开始 ===');
    
    // 1. 清除现有数据
    PageStats.clearPageStats();
    console.log('1. 已清除现有统计数据');
    
    // 2. 模拟访问几个页面
    const testPages = [
      '/pages/index/index',
      '/pinggu/index',
      '/pages/health/index',
      '/pages/info/demographic/index',
      '/pages/index/index', // 重复访问
      '/pinggu/index', // 重复访问
    ];
    
    testPages.forEach(page => {
      PageStats.recordPageVisit(page);
    });
    
    console.log('2. 已模拟访问页面:', testPages);
    
    // 3. 获取统计数据
    const stats = PageStats.getPageStats();
    console.log('3. 当前统计数据:', stats);
    
    // 4. 测试获取特定页面访问次数
    const indexPageCount = PageStats.getPageVisitCount('/pages/index/index');
    console.log('4. /pages/index/index 访问次数:', indexPageCount);
    
    // 5. 获取访问最多的页面
    const topPages = PageStats.getTopVisitedPages(3);
    console.log('5. 访问最多的前3个页面:', topPages);
    
    // 6. 获取总访问次数
    const totalVisits = PageStats.getTotalVisits();
    console.log('6. 总访问次数:', totalVisits);
    
    console.log('=== 页面统计功能测试结束 ===');
    
    return {
      stats,
      indexPageCount,
      topPages,
      totalVisits
    };
  }
  
  /**
   * 在控制台显示当前统计数据
   */
  static showCurrentStats() {
    const stats = PageStats.getPageStats();
    console.log('当前页面访问统计:', stats);
    return stats;
  }
}

// 在开发环境下，可以通过控制台调用测试
if (process.env.NODE_ENV === 'development') {
  (window as any).PageStatsTest = PageStatsTest;
  console.log('页面统计测试工具已加载，可通过 PageStatsTest.testPageStats() 进行测试');
}
